package net.ibizsys.eclipse.studio.vc;

import org.tigris.subversion.javahl.ClientException;


/**
 * 版本控制管理对象
 * 
 * @author <a href='http://www.weibo.com/xjtoo' target='_blank'>Enmaai</a>
 */
public interface IVCManager
{
	/**
	 * 忽略文件
	 * @param repository
	 * @param path
	 * @param listener
	 * @throws ClientException
	 */
	public void ignore(VCRepository repository, String path, IVCActionListener listener) throws Exception;
	
	/**
	 * 检出
	 * 
	 * @param repository
	 * @param module
	 * @param destPath
	 * @param revision
	 * @param recurse
	 * @throws Exception
	 */
	public void checkout(VCRepository repository, String module, String destPath, IVCActionListener listener) throws Exception;

	/**
	 * 更新
	 * 
	 * @param repository
	 * @param destpath
	 * @throws Exception
	 */
	public void update(VCRepository repository, String destpath, IVCActionListener listener) throws Exception;

	/**
	 * 更新
	 * 
	 * @param repository
	 * @param destpath
	 * @throws Exception
	 */
	public void update(VCRepository repository, String[] destpath, IVCActionListener listener) throws Exception;

	/**
	 * 提交
	 * 
	 * @param repository
	 * @param destpath
	 * @param message
	 * @throws Exception
	 */
	public void commit(VCRepository repository, String destpath, String message, IVCActionListener listener) throws Exception;

	/**
	 * 提交
	 * 
	 * @param repository
	 * @param destpath
	 * @param message
	 * @throws Exception
	 */
	public void commit(VCRepository repository, String[] destpath, String message, IVCActionListener listener) throws Exception;
}
